# 元组：是Python中另一个重要的序列结构，与列表类似，也是由一系列按特定顺序排列的元素组成的，但是它是不可变序列，因此元组也可以称为不可变的列表
# 特点：
# 1：不可变(不能增删改但可以重新赋值或修改元组内嵌套的可变元素,或对元组进行连接组合，连接的内容必须都是元组)
# 2：用()创建元组类型，两个相邻元素间使用逗号进行分隔，且同一个元组中，元素类型可以不同，因为它们之间没有任何关系
# 3：如果要创建的元组只包含一个元素，则需要在定义元组时，在元素的后面加一个逗号，否则不是元组类型
# 4：同样支持索引和切片来进行操作
# 元组的创建
tupleA=()#空元组
tupleA=tuple()#空元祖
print(id(tupleA))
tupleA=('abcd',89,9.12,'peter',[11,22,33])
print(id(tupleA))#列表和元组一样，重新赋值内存地址会变化
print(len(tupleA)) # len函数可以返回对象中的元素个数，从1开始计算(元组长度)
print(tupleA)
print(type(tupleA))
# 查找访问元组元素
for item in tupleA:#for循环遍历
    print(item,end=' ')
print(tupleA[2])#索引
print(tupleA[2:4])#切片
print(tupleA[::-1])#倒序输出，从右往左遍历(切片)
print(tupleA[::-2])#倒序输出，从右往左遍历,以步长为2进行切片，每两个取一个
print(tupleA[-2:-1:])#正序输出，从左往右遍历，不包含-1处元素
print(tupleA[-4:-2:])
tupleA[4][0]=285202#可以对元组中的列表类型的数据进行修改
print(tupleA)
tupleB=(1)
print(type(tupleB))
tupleB=(1,)#如果要创建的元组只包含一个元素，则需要在定义元组时，在元素的后面加一个逗号
print(type(tupleB))
tupleC=tuple(range(10))
print(tupleC)
print(tupleC.index(9))#获取指定元素首次出现的下标
print(tupleC.count(8))#获取指定元素出现的次数
